// 引入axios;
import axios from "axios";
import store from "@/store";
import JSONBig from "json-bigint";
// const jsonStr = '{"id":"5555555555555555555555555555555555555555"}';
// let res = JSONBig.parse(jsonStr);
// console.log(res);
// console.log(JSON.parse(res))
// 二次封装请求方法;
const request = axios.create({
 // baseURL: "http://toutiao-app.itheima.net", // 基础路径
     baseURL: "http://toutiao.itheima.net/",
  // 自定义后端返回的原始数据 解决JS是大整数问题;
  transformResponse: [
    function (data) {
      try {
        return JSONBig.parse(data);
      } catch (err) {
        return {
          data,
        };
      }
    },
  ],
});

// 1.请求拦截器
request.interceptors.request.use(
  function (config) {
    // Do something before request is sent
    const { user } = store.state;
    if (user && user.token) {
      config.headers.Authorization = `Bearer ${user.token}`;
    }
    return config;
  },
  function (error) {
    // Do something with request error
    return Promise.reject(error);
  }
);

// 2.响应拦截器

// 抛出封装内容;
export default request;
